[Git]difftoolにdifftasticを設定して差分を見やすくする。
- t_o_dと申します。
- gitのdifftoolコマンドを利用すれば内部で利用している差分ツールを使い分けることが可能です。
- そこでdifftoolにdifftasticを利用できるように設定してgitのdiffをより見やすくする方法を記録いたします。
イメージ
- 今回行う設定によって、以下のようにdifftoolコマンド利用時は「視覚的な差分表示・文字単位での色付け」が可能となります。
環境
- mac OS Ventura 13.1
- Homebrew 3.6.15
手順
difftasticインストール
- 以下のコマンドでdifftasticをインストールします。
- ※Mac以外のインストール方法はこちらをご参考ください。
brew install difftastic
- 以下で存在確認及び操作感確認をします。
# 存在確認 type difft # 操作感確認 # 新しくある「World」が太字になることを確認 difft <(echo "Hello") <(echo "Hello World")
gitconfigの設定
- インストール後、gitのdifftoolに設定するためgitconfigを編集します。
- 今回はlocalとしてgit管理のプロジェクトに設定するので、そのサンプルプロジェクトを以下で用意します。
# サンプルディレクトリ作成・移動 mkdir -p ~/difft-test cd ~/difft-test # git初期化 git init
- 作成後、
difft-test/.git/config
ファイルに以下を追記してください。- ※以下の1行目の「dif」を「diff」と書き換えてください。角括弧内にdiffと書くと記事上で認識されなかったため。
[dif] tool = difftastic [difftool] prompt = false [difftool "difftastic"] cmd = difft "$LOCAL" "$REMOTE" [pager] difftool = true
設定確認
- configへの追記後、反映されているか確認します。
- 上記で作成したgitプロジェクトに以下で対象ファイルを作成してください。
# 対象ファイル作成(例: docker-compose.yml) touch docker-compose.yml
- 作成した
docker-compose.yml
の中身を例として以下にしてください。
version: '3.7' services: sample: image: alpine tty: true
- 記述後、以下でファーストコミットします。
# ステージング git add docker-compose.yml # コミット git commit -m "first commit"
- コミット後、
docker-compose.yml
の中身を以下の内容に変更してください。
version: '3.7' services: sample: image: ubuntu tty: true
- 変更後、以下のdifftoolコマンドで反映されているか確認してください。
git difftool docker-compose.yml
- 反映されていたら以下のような出力になります。
- 確認後、通常の
git diff
には影響していないことを確認します。
# 標準の出力形式 git diff docker-compose.yml
- 以上です。
まとめ
- difftasticを利用すればCUIで文字単位の差分表示が可能なので非常に便利です。
- diffは普段から利用するため自分に合ったdiffツールを利用していこうと感じました。